namespace ext.form
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>
	/// Standard container used for grouping items within a {@link Ext.form.FormPanel form}.
	/// 
	/// var form = new Ext.FormPanel({
	/// title: &apos;Simple Form with FieldSets&apos;,
	/// labelWidth: 75, // label settings here cascade unless overridden
	/// url: &apos;save-form.php&apos;,
	/// frame:true,
	/// bodyStyle:&apos;padding:5px 5px 0&apos;,
	/// width: 700,
	/// renderTo: document.body,
	/// layout:&apos;column&apos;, // arrange items in columns
	/// defaults: { // defaults applied to items
	/// layout: &apos;form&apos;,
	/// border: false,
	/// bodyStyle: &apos;padding:4px&apos;
	/// },
	/// items: [{
	/// // Fieldset in Column 1
	/// xtype:&apos;fieldset&apos;,
	/// columnWidth: 0.5,
	/// title: &apos;Fieldset 1&apos;,
	/// collapsible: true,
	/// autoHeight:true,
	/// defaults: {
	/// anchor: &apos;-20&apos; // leave room for error icon
	/// },
	/// defaultType: &apos;textfield&apos;,
	/// items :[{
	/// fieldLabel: &apos;Field 1&apos;
	/// }, {
	/// fieldLabel: &apos;Field 2&apos;
	/// }, {
	/// fieldLabel: &apos;Field 3&apos;
	/// }
	/// ]
	/// },{
	/// // Fieldset in Column 2 - Panel inside
	/// xtype:&apos;fieldset&apos;,
	/// title: &apos;Show Panel&apos;, // title, header, or checkboxToggle creates fieldset header
	/// autoHeight:true,
	/// columnWidth: 0.5,
	/// ..
	/// </summary>
	/// <htmlSummary>
	/// Standard container used for grouping items within a {@link Ext.form.FormPanel form}.
	/// &lt;pre&gt;&lt;code&gt;
	/// var form = new Ext.FormPanel({
	/// title: &apos;Simple Form with FieldSets&apos;,
	/// labelWidth: 75, // label settings here cascade unless overridden
	/// url: &apos;save-form.php&apos;,
	/// frame:true,
	/// bodyStyle:&apos;padding:5px 5px 0&apos;,
	/// width: 700,
	/// renderTo: document.body,
	/// layout:&apos;column&apos;, // arrange items in columns
	/// defaults: { // defaults applied to items
	/// layout: &apos;form&apos;,
	/// border: false,
	/// bodyStyle: &apos;padding:4px&apos;
	/// },
	/// items: [{
	/// // Fieldset in Column 1
	/// xtype:&apos;fieldset&apos;,
	/// columnWidth: 0.5,
	/// title: &apos;Fieldset 1&apos;,
	/// collapsible: true,
	/// autoHeight:true,
	/// defaults: {
	/// anchor: &apos;-20&apos; // leave room for error icon
	/// },
	/// defaultType: &apos;textfield&apos;,
	/// items :[{
	/// fieldLabel: &apos;Field 1&apos;
	/// }, {
	/// fieldLabel: &apos;Field 2&apos;
	/// }, {
	/// fieldLabel: &apos;Field 3&apos;
	/// }
	/// ]
	/// },{
	/// // Fieldset in Column 2 - Panel inside
	/// xtype:&apos;fieldset&apos;,
	/// title: &apos;Show Panel&apos;, // title, header, or checkboxToggle creates fieldset header
	/// autoHeight:true,
	/// columnWidth: 0.5,
	/// checkboxToggle: true,
	/// collapsed: true, // fieldset initially collapsed
	/// layout:&apos;anchor&apos;,
	/// items :[{
	/// xtype: &apos;panel&apos;,
	/// anchor: &apos;100%&apos;,
	/// title: &apos;Panel inside a fieldset&apos;,
	/// frame: true,
	/// height: 100
	/// }]
	/// }]
	/// });
	/// &lt;/code&gt;&lt;/pre&gt;
	/// </htmlSummary>
	/// <definedin>src\widgets\form\FieldSet.js</definedin>
	[ScriptName("FieldSet")]
	[ScriptNamespace("Ext.form")]
	[Imported()]
	public partial class FieldSet : ext.Panel
	{
		
		#region Constructors
		/// <summary>Constructor</summary>
		/// <param name="config">Configuration options</param>
		public FieldSet(ext.form.FieldSet_Configuration config)
		{
		}
		
		/// <summary>Constructor</summary>
		public FieldSet()
		{
		}
		#endregion
		
		#region Fields
		/// <summary>
		/// true to render a checkbox into the fieldset frame just
		/// in front of the legend to expand/collapse the fieldset when the checkbox is toggled. (defaults
		/// to false).
		/// A {@link Ext.DomHelper DomHelper} element spec may also be specified to create the checkbox.
		/// If true is specified, the default DomHelper config object used to create the element
		/// is:  
		/// {tag: &apos;input&apos;, type: &apos;checkbox&apos;, name: this.checkboxName || this.id+&apos;-checkbox&apos;}
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to render a checkbox into the fieldset frame just
		/// in front of the legend to expand/collapse the fieldset when the checkbox is toggled. (defaults
		/// to &lt;tt&gt;false&lt;/tt&gt;).
		/// &lt;p&gt;A {@link Ext.DomHelper DomHelper} element spec may also be specified to create the checkbox.
		/// If &lt;tt&gt;true&lt;/tt&gt; is specified, the default DomHelper config object used to create the element
		/// is:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;
		/// {tag: &apos;input&apos;, type: &apos;checkbox&apos;, name: this.checkboxName || this.id+&apos;-checkbox&apos;}
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("checkboxToggle")]
		public object CheckboxToggle;
		
		/// <summary>
		/// The name to assign to the fieldset&apos;s checkbox if {@link #checkboxToggle} = true
		/// (defaults to &apos;[checkbox id]-checkbox&apos;).
		/// </summary>
		/// <htmlSummary>
		/// The name to assign to the fieldset&apos;s checkbox if &lt;tt&gt;{@link #checkboxToggle} = true&lt;/tt&gt;
		/// (defaults to &lt;tt&gt;&apos;[checkbox id]-checkbox&apos;&lt;/tt&gt;).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("checkboxName")]
		public string CheckboxName;
		
		/// <summary>
		/// true to make the fieldset collapsible and have the expand/collapse toggle button automatically
		/// rendered into the legend element, false to keep the fieldset statically sized with no collapse
		/// button (defaults to false). Another option is to configure {@link #checkboxToggle}.
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to make the fieldset collapsible and have the expand/collapse toggle button automatically
		/// rendered into the legend element, &lt;tt&gt;false&lt;/tt&gt; to keep the fieldset statically sized with no collapse
		/// button (defaults to &lt;tt&gt;false&lt;/tt&gt;). Another option is to configure &lt;tt&gt;{@link #checkboxToggle}&lt;/tt&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("collapsible")]
		public bool Collapsible;
		
		/// <summary>The width of labels. This property cascades to child containers.</summary>
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("labelWidth")]
		public System.Number LabelWidth;
		
		/// <summary>
		/// A css class to apply to the x-form-item of fields (see
		/// {@link Ext.layout.FormLayout}.{@link Ext.layout.FormLayout#fieldTpl fieldTpl} for details).
		/// This property cascades to child containers.
		/// </summary>
		/// <htmlSummary>
		/// A css class to apply to the &lt;tt&gt;x-form-item&lt;/tt&gt; of fields (see
		/// {@link Ext.layout.FormLayout}.{@link Ext.layout.FormLayout#fieldTpl fieldTpl} for details).
		/// This property cascades to child containers.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("itemCls")]
		public string ItemCls;
		
		/// <summary>The base CSS class applied to the fieldset (defaults to &apos;x-fieldset&apos;).</summary>
		/// <htmlSummary>The base CSS class applied to the fieldset (defaults to &lt;tt&gt;&apos;x-fieldset&apos;&lt;/tt&gt;).</htmlSummary>
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("baseCls")]
		public string BaseCls;
		
		/// <summary>The {@link Ext.Container#layout} to use inside the fieldset (defaults to &apos;form&apos;).</summary>
		/// <htmlSummary>The {@link Ext.Container#layout} to use inside the fieldset (defaults to &lt;tt&gt;&apos;form&apos;&lt;/tt&gt;).</htmlSummary>
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("layout")]
		public string Layout;
		
		/// <summary>
		/// true to animate the transition when the panel is collapsed, false to skip the
		/// animation (defaults to false).
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to animate the transition when the panel is collapsed, &lt;tt&gt;false&lt;/tt&gt; to skip the
		/// animation (defaults to &lt;tt&gt;false&lt;/tt&gt;).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("animCollapse")]
		public bool AnimCollapse;
		
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("activeItem")]
		public ext.auto.System_String_Or_System_Number ActiveItem;
		
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("applyTo")]
		public object ApplyTo;
		
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("bodyBorder")]
		public bool BodyBorder;
		
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("border")]
		public bool Border;
		
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("bufferResize")]
		public ext.auto.System_Boolean_Or_System_Number BufferResize;
		
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("collapseFirst")]
		public bool CollapseFirst;
		
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("defaultType")]
		public string DefaultType;
		
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("disabledClass")]
		public string DisabledClass;
		
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("elements")]
		public string Elements;
		
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("floating")]
		public bool Floating;
		
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("footer")]
		public bool Footer;
		
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("frame")]
		public bool Frame;
		
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("header")]
		public bool Header;
		
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("headerAsText")]
		public bool HeaderAsText;
		
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("hideCollapseTool")]
		public bool HideCollapseTool;
		
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("iconCls")]
		public string IconCls;
		
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("shadow")]
		public ext.auto.System_Boolean_Or_System_String Shadow;
		
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("shadowOffset")]
		public System.Number ShadowOffset;
		
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("shim")]
		public bool Shim;
		
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("tbar")]
		public ext.auto.System_Object_Or_System_Array Tbar;
		
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("tools")]
		public System.Array Tools;
		
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("toolTemplate")]
		public ext.auto.ext_Template_Or_ext_XTemplate ToolTemplate;
		
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("xtype")]
		public string Xtype;
		#endregion
		
		#region Methods
		/// <summary>
		/// This function is called by the fieldset&apos;s checkbox when it is toggled (only applies when
		/// checkboxToggle = true). This method should never be called externally, but can be
		/// overridden to provide custom behavior when the checkbox is toggled if needed.
		/// </summary>
		/// <definedin>src\widgets\form\FieldSet.js</definedin>
		[ScriptName("onCheckClick")]
		public void OnCheckClick()
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
	}
}
